There are a number of computer graphic programs which store various objects and use these objects to render the final image. Generally, these computer programs can be divided into vector based graphic programs or bitmap based programs. COREL DRAW.TM. is primarily vector based whereas PHOTOSHOP.TM. is essentially bitmap based. These known graphic packages allocate enough temporary storage for the entire rendered image and then render each object, one by one, into that temporary storage. This approach fully renders lower objects prior to rendering upper objects. The programs require substantial memory in rendering the final image. Some programs use layers to allow flexibility in changing the final image, however, each layer is effectively a duplicate bitmap the resolution of the original base bitmap. Layers add flexibility in changing the design or returning to an earlier design, but substantial additional memory is required.
The final image of graphic packages is typically sent to a raster device for output, which renders the image on a scanline by scanline basis. The final image is defined by a host of scanlines, each representing one row of the bitmap image. Raster devices include printers, computer screens, television screens, etc.
Vector based graphic programs, such as COREL DRAW.TM., produce a bitmap of the final image for the raster device. Similarly, the graphic program PHOTOSHOP.TM. produces a bitmap of the final image.
Vector based drawings tend to use little storage before rendering, as simple descriptions often produce largely significant results. Vector drawings are usually resolution independent and they are typically made up of a list of objects, described by a programming language or by some other symbolic representation. Bitmap images, in contrast, are a rectangular array of pixels wherein each pixel has an associated colour or grey level. This type of image has a clearly defined resolution (the size of the array). Each horizontal row of pixels of the bitmap is called a scanline. Bitmaps tend to use a great deal of storage, but they are easy to work with because they have few properties.
There remains a need to provide an improved method of defining an image and the interaction of its components as well as a better procedure for rendering an image to various output devices at various resolutions.